Skip to content

feat: printing out public contract function debug logs in a tx#20749

Merged
benesjan merged 6 commits intomerge-train/fairiesfrom
02-23-feat_printing_out_public_contract_function_debug_logs_in_a_tx
Feb 23, 2026
Merged

feat: printing out public contract function debug logs in a tx#20749
benesjan merged 6 commits intomerge-train/fairiesfrom
02-23-feat_printing_out_public_contract_function_debug_logs_in_a_tx

Conversation

@benesjan
Copy link
Contributor

@benesjan benesjan commented Feb 23, 2026

This is the last of a sequence of PRs fixing contract logging. In this PR I fix printing of public contract function logs when a real transaction is sent (not a simple public function simulation).

This is the approach:

  1. When aztec node is started in test mode instantiate debugLogStore and thread it through all the relevant places,
  2. when this store is set, the logs get populated in it under the tx hash,
  3. then when getTxReceipt is called by the wallet the debug logs are returned in the receipt,
  4. if wallet receives any debug logs it prints them out.

Having the debugLogs on the TxReceipt is a bit messy but it's the only way how to not have to introduce another RPC call (it would made more sense to have it on getTxEffect otherwise as the debug logs are more of a tx effect). I don't think this matters much.

Note: The CI failure is unrelated failure on merge-train/fairies branch.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@benesjan benesjan marked this pull request as ready for review February 23, 2026 06:30
@benesjan benesjan requested a review from mverzilli February 23, 2026 06:59
@benesjan benesjan marked this pull request as draft February 23, 2026 12:52
@benesjan benesjan force-pushed the 02-23-feat_printing_out_public_contract_function_debug_logs_in_a_tx branch from 256cf12 to 2e4bfa4 Compare February 23, 2026 13:58
@benesjan benesjan marked this pull request as ready for review February 23, 2026 14:44
@benesjan benesjan enabled auto-merge (squash) February 23, 2026 14:57
@benesjan benesjan merged commit 4982688 into merge-train/fairies Feb 23, 2026
16 checks passed
@benesjan benesjan deleted the 02-23-feat_printing_out_public_contract_function_debug_logs_in_a_tx branch February 23, 2026 15:02
github-merge-queue bot pushed a commit that referenced this pull request Feb 23, 2026
BEGIN_COMMIT_OVERRIDE
refactor: aztec new and init creating 2 crates (#20681)
fix: hodgepodge of small things (#20720)
test: aztec new scaffold works (#20711)
feat: add `aztec profile` command with gate count profiling (#20695)
fix(txe): committing after txs (#20714)
feat: add aztec profile flamegraph command (#20741)
feat: printing out public contract function debug logs in a tx (#20749)
END_COMMIT_OVERRIDE
benesjan added a commit that referenced this pull request Feb 26, 2026
Prints out public contract function debug logs in a tx.
benesjan added a commit that referenced this pull request Feb 26, 2026
BEGIN_COMMIT_OVERRIDE
fix!: Bump l2 gas per note hash (#20862)
fix: allow compiling mixed (contract + noir script) aztec project
(#20428)
feat: add `aztec profile` command with gate count profiling (#20695)
chore: backporting "displaying debug logs from public function
simulations (#20551)" (#20882)
refactor: split ContractSelf into context-specific structs (#20624)
fix(txe): committing after txs (#20714)
feat: printing out public contract function debug logs in a tx (#20749)
refactor: bundling app into type with directional app tagging secret
(#20796)
refactor: cleaning up construction of SiloedTag (#20797)
docs: document RevertCodeEnum phases and add 120-char line width rule
(#20751)
fix: track last seen nonce in case of stale fallback L1 RPC node
(#20855)
feat: add aztec profile flamegraph command (#20741)
END_COMMIT_OVERRIDE

---------

Co-authored-by: sirasistant <sirasistant@users.noreply.github.com>
Co-authored-by: sirasistant <sirasistant@gmail.com>
Co-authored-by: nchamo <nchamo@users.noreply.github.com>
Co-authored-by: benesjan <benesjan@users.noreply.github.com>
Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Co-authored-by: spypsy <spypsy@users.noreply.github.com>
aminsammara pushed a commit that referenced this pull request Feb 27, 2026
Pending Aztec Packages v4 release
---

##
[4.0.1](v4.0.0...v4.0.1)
(2026-02-26)
### � BREAKING CHANGES
* Bump l2 gas per note hash
([#20862](#20862))
* update vks
* update da gas
([#20611](#20611))
* change max private log size to 16 fields
([#20515](#20515))
* pairing points audit
([#20456](#20456))
* include_by_timestamp -> expiration_timestamp
([#20536](#20536))
### Features
* (A-302) add reloadKeystore admin RPC endpoint
([#20325](#20325))
([639368d](639368d))
* (A-451) error codes for RPC calls
([#20560](#20560))
([639368d](639368d))
* (A-514) add API key authentication for admin RPC endpoint
([#20411](#20411))
([639368d](639368d))
* add `aztec profile` command with gate count profiling
([#20695](#20695))
([83ea202](83ea202))
* add API key authentication for admin RPC endpoint
([ff4cf99](ff4cf99))
* add aztec profile flamegraph command
([#20741](#20741))
([83ea202](83ea202))
* add support for signed integers on contract functions
([#20784](#20784))
([fdd0d0d](fdd0d0d))
* adding mempool transactions
([#20679](#20679))
([43caf7c](43caf7c))
* alpha payload
([#20865](#20865))
([7a09c3c](7a09c3c))
* **archiver:** add l2 tips cache
([#20510](#20510))
([639368d](639368d))
* **archiver:** return L2 block data to avoid fetching full block
([#20503](#20503))
([639368d](639368d))
* automatically stop node from signalling
([#20416](#20416))
([639368d](639368d))
* avoid redundant serial zeroing in polynomial allocation
([#20670](#20670))
([bb844d4](bb844d4))
* call syncImmediate without block number during chain prune
([#20717](#20717))
([43caf7c](43caf7c))
* check calldata against emitted hashes
([#20486](#20486))
([43caf7c](43caf7c))
* **ci.aztec-labs.com:** CI cost and metrics tracking
([#20100](#20100))
([639368d](639368d))
* disabling peer scoring for block proposals topic
([#20577](#20577))
([6414d9b](6414d9b))
* dynamically adjust missing txs set
([#20300](#20300))
([dedf440](dedf440))
* Error codes for RPC calls
([43ed6a9](43ed6a9))
* expose blockheader getters
([#20790](#20790))
([fdd0d0d](fdd0d0d))
* Metrics added to the transaction pool
([#20477](#20477))
([639368d](639368d))
* notify slack on merge train PR merge
([#20614](#20614))
([dbbeddc](dbbeddc))
* **p2p:** add download metrics to file store tx source
([#20601](#20601))
([639368d](639368d))
* printing out public contract function debug logs in a tx
([#20749](#20749))
([83ea202](83ea202))
* Re-instate the function optionally to delete all transactions in an
epoch prune
([#20602](#20602))
([dedf440](dedf440))
* reduced hashing
([#20676](#20676))
([bf3191c](bf3191c))
* run low priority eviction rule on chain_pruned
([#20687](#20687))
([43caf7c](43caf7c))
* suspend sentinel during escape hatch
([#20471](#20471))
([639368d](639368d))
* tcmalloc enabled in docker images
([#20644](#20644))
([b87c8ae](b87c8ae))
* trim attestations to the minimum required length
([#20591](#20591))
([43caf7c](43caf7c))
* use native crypto to compute p2p message ID
([#20846](#20846))
([fdd0d0d](fdd0d0d))
* Validate num txs in block proposals
([#20850](#20850))
([f3f5438](f3f5438))
* worker thread wallet
([#20557](#20557))
([639368d](639368d))
* World state history length is now defined in checkpoints
([#20566](#20566))
([639368d](639368d))
### Bug Fixes
* (A-575) prevent checkpoint event spam in L2BlockStream on restart
([#20791](#20791))
([fdd0d0d](fdd0d0d))
* `DelayedPublicMutable` not relying on the guarantee of increasing
timestamps
([#20244](#20244))
([a178034](a178034))
* allow compiling mixed (contract + noir script) aztec project
([#20428](#20428))
([83ea202](83ea202))
* **archiver:** enforce checkpoint boundary on rollbackTo
([#20908](#20908))
([f3f5438](f3f5438))
* async blob
([#20559](#20559))
([639368d](639368d))
* async dispose() lint rule
([#20587](#20587))
([639368d](639368d))
* async world state cleanups
([#20578](#20578))
([639368d](639368d))
* attribute for L1 fee analysis for full blocks
([#20548](#20548))
([63131de](63131de))
* **avm:** alu gadget fuzzer serialisation
([#19115](#19115))
([50e778a](50e778a))
* **aztec-up:** install noir-profiler alongside nargo
([#20896](#20896))
([f3f5438](f3f5438))
* charge 3.6M for epoch verification
([#20765](#20765))
([fdd0d0d](fdd0d0d))
* **ci:** insufficient parallelism in merge-queue-heavy
([#20613](#20613))
([5bfbd67](5bfbd67))
* **ci:** preserve both attempt logs when retrying flaky tests
([#20439](#20439))
([639368d](639368d))
* default pp handling
([#20516](#20516))
([f9431cd](f9431cd))
* do not ignore test artifacts
([#20574](#20574))
([402f438](402f438))
* docs examples lockfile
([#20453](#20453))
([4bf9ddd](4bf9ddd))
* escape hatch snapshots
([#20363](#20363))
([e4712cd](e4712cd))
* **ethereum:** check timeout before consuming nonce in L1TxUtils
([#20501](#20501))
([639368d](639368d))
* **ethereum:** remove viem NonceManager to fix nonce gap after failed
sends
([#20819](#20819))
([fdd0d0d](fdd0d0d))
* evicted transactions could reappear after a node restart
([#20773](#20773))
([fdd0d0d](fdd0d0d))
* Fix checkpoint invalidation test
([#20579](#20579))
([639368d](639368d))
* Fix the epoch long proving test
([#20617](#20617))
([6414d9b](6414d9b))
* flag stripping error
([#20655](#20655))
([b87c8ae](b87c8ae))
* getVotes return empty instead of stale data
([#20756](#20756))
([fdd0d0d](fdd0d0d))
* hodgepodge of small things
([#20720](#20720))
([43caf7c](43caf7c))
* increase waitForTx timeout in epochs_invalidate_block test
([#20603](#20603))
([639368d](639368d))
* limit number of threads when verifying server-side proofs
([#20818](#20818))
([fdd0d0d](fdd0d0d))
* min expiration timestamp instead of assert
([#20554](#20554))
([fa29717](fa29717))
* misc minor contract fixes
([#20423](#20423))
([3a13674](3a13674))
* **node:** sync ws before simulating public calls
([#20499](#20499))
([639368d](639368d))
* **p2p:** fix compress option in file store and enable for tx uploads
([#20605](#20605))
([639368d](639368d))
* **p2p:** wait for GossipSub mesh formation before sending txs in e2e
tests
([#20626](#20626))
([fdd0d0d](fdd0d0d))
* pass log level to AVM simulator
([#20762](#20762))
([fdd0d0d](fdd0d0d))
* pxe native prover log level
([#20724](#20724))
([fdd0d0d](fdd0d0d))
* Reduce tx hash conversions inside tx pool
([#20829](#20829))
([fdd0d0d](fdd0d0d))
* respecting MAX_RPC_LEN limit in getAllLogsByTags
([#20543](#20543))
([c2475bd](c2475bd))
* separate rejected and aborted proving jobs
([#20777](#20777))
([fdd0d0d](fdd0d0d))
* Set Aztec slot duration as a multiple of the Ethereum slot duration
([#20608](#20608))
([dedf440](dedf440))
* set PXE sync chain tip to proposed for scenario bot
([#20530](#20530))
([639368d](639368d))
* skip default pp in sol aggregation
([#20521](#20521))
([f9431cd](f9431cd))
* stringify all bigints in pino-logger
([#20303](#20303))
([639368d](639368d))
* sync world state before forking in simulatePublicCalls
([#20544](#20544))
([f3420e0](f3420e0))
* track last seen nonce in case of stale fallback L1 RPC node
([#20855](#20855))
([83ea202](83ea202))
* **txe:** committing after txs
([#20714](#20714))
([83ea202](83ea202))
* underflow in snapshot synch
([#20780](#20780))
([fdd0d0d](fdd0d0d))
* Use async poseidon
([#20826](#20826))
([fdd0d0d](fdd0d0d))
* use ci3_labels_to_env.sh for ci-external label
([#20597](#20597))
([3efb1d9](3efb1d9))
* write pointers for environ_get and environ_sizes_get functions
([#20902](#20902))
([f3f5438](f3f5438))
* yolo debugging tweaks
([0a9d6e0](0a9d6e0))
* yolo some fd cleanup, maybe stop hangs
([43d292c](43d292c))
### Miscellaneous
* include_by_timestamp -&gt; expiration_timestamp
([#20536](#20536))
([44a33a1](44a33a1))
* update vks
([4d653dd](4d653dd))
### Documentation
* document RevertCodeEnum phases and add 120-char line width rule
([#20751](#20751))
([83ea202](83ea202))
* fix avm docs - l2 gas is not the same as mana
([#20565](#20565))
([50e778a](50e778a))
* minor clarification
([#20788](#20788))
([fdd0d0d](fdd0d0d))
* simulator readme typos
([#19701](#19701))
([50e778a](50e778a))
* some tail circuit doc comments
([#20449](#20449))
([fd509a3](fd509a3))
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
ludamad pushed a commit that referenced this pull request Feb 27, 2026
Pending Aztec Packages v4 release
---

##
[4.0.1](v4.0.0...v4.0.1)
(2026-02-26)
### � BREAKING CHANGES
* Bump l2 gas per note hash
([#20862](#20862))
* update vks
* update da gas
([#20611](#20611))
* change max private log size to 16 fields
([#20515](#20515))
* pairing points audit
([#20456](#20456))
* include_by_timestamp -> expiration_timestamp
([#20536](#20536))
### Features
* (A-302) add reloadKeystore admin RPC endpoint
([#20325](#20325))
([639368d](639368d))
* (A-451) error codes for RPC calls
([#20560](#20560))
([639368d](639368d))
* (A-514) add API key authentication for admin RPC endpoint
([#20411](#20411))
([639368d](639368d))
* add `aztec profile` command with gate count profiling
([#20695](#20695))
([83ea202](83ea202))
* add API key authentication for admin RPC endpoint
([ff4cf99](ff4cf99))
* add aztec profile flamegraph command
([#20741](#20741))
([83ea202](83ea202))
* add support for signed integers on contract functions
([#20784](#20784))
([fdd0d0d](fdd0d0d))
* adding mempool transactions
([#20679](#20679))
([43caf7c](43caf7c))
* alpha payload
([#20865](#20865))
([7a09c3c](7a09c3c))
* **archiver:** add l2 tips cache
([#20510](#20510))
([639368d](639368d))
* **archiver:** return L2 block data to avoid fetching full block
([#20503](#20503))
([639368d](639368d))
* automatically stop node from signalling
([#20416](#20416))
([639368d](639368d))
* avoid redundant serial zeroing in polynomial allocation
([#20670](#20670))
([bb844d4](bb844d4))
* call syncImmediate without block number during chain prune
([#20717](#20717))
([43caf7c](43caf7c))
* check calldata against emitted hashes
([#20486](#20486))
([43caf7c](43caf7c))
* **ci.aztec-labs.com:** CI cost and metrics tracking
([#20100](#20100))
([639368d](639368d))
* disabling peer scoring for block proposals topic
([#20577](#20577))
([6414d9b](6414d9b))
* dynamically adjust missing txs set
([#20300](#20300))
([dedf440](dedf440))
* Error codes for RPC calls
([43ed6a9](43ed6a9))
* expose blockheader getters
([#20790](#20790))
([fdd0d0d](fdd0d0d))
* Metrics added to the transaction pool
([#20477](#20477))
([639368d](639368d))
* notify slack on merge train PR merge
([#20614](#20614))
([dbbeddc](dbbeddc))
* **p2p:** add download metrics to file store tx source
([#20601](#20601))
([639368d](639368d))
* printing out public contract function debug logs in a tx
([#20749](#20749))
([83ea202](83ea202))
* Re-instate the function optionally to delete all transactions in an
epoch prune
([#20602](#20602))
([dedf440](dedf440))
* reduced hashing
([#20676](#20676))
([bf3191c](bf3191c))
* run low priority eviction rule on chain_pruned
([#20687](#20687))
([43caf7c](43caf7c))
* suspend sentinel during escape hatch
([#20471](#20471))
([639368d](639368d))
* tcmalloc enabled in docker images
([#20644](#20644))
([b87c8ae](b87c8ae))
* trim attestations to the minimum required length
([#20591](#20591))
([43caf7c](43caf7c))
* use native crypto to compute p2p message ID
([#20846](#20846))
([fdd0d0d](fdd0d0d))
* Validate num txs in block proposals
([#20850](#20850))
([f3f5438](f3f5438))
* worker thread wallet
([#20557](#20557))
([639368d](639368d))
* World state history length is now defined in checkpoints
([#20566](#20566))
([639368d](639368d))
### Bug Fixes
* (A-575) prevent checkpoint event spam in L2BlockStream on restart
([#20791](#20791))
([fdd0d0d](fdd0d0d))
* `DelayedPublicMutable` not relying on the guarantee of increasing
timestamps
([#20244](#20244))
([a178034](a178034))
* allow compiling mixed (contract + noir script) aztec project
([#20428](#20428))
([83ea202](83ea202))
* **archiver:** enforce checkpoint boundary on rollbackTo
([#20908](#20908))
([f3f5438](f3f5438))
* async blob
([#20559](#20559))
([639368d](639368d))
* async dispose() lint rule
([#20587](#20587))
([639368d](639368d))
* async world state cleanups
([#20578](#20578))
([639368d](639368d))
* attribute for L1 fee analysis for full blocks
([#20548](#20548))
([63131de](63131de))
* **avm:** alu gadget fuzzer serialisation
([#19115](#19115))
([50e778a](50e778a))
* **aztec-up:** install noir-profiler alongside nargo
([#20896](#20896))
([f3f5438](f3f5438))
* charge 3.6M for epoch verification
([#20765](#20765))
([fdd0d0d](fdd0d0d))
* **ci:** insufficient parallelism in merge-queue-heavy
([#20613](#20613))
([5bfbd67](5bfbd67))
* **ci:** preserve both attempt logs when retrying flaky tests
([#20439](#20439))
([639368d](639368d))
* default pp handling
([#20516](#20516))
([f9431cd](f9431cd))
* do not ignore test artifacts
([#20574](#20574))
([402f438](402f438))
* docs examples lockfile
([#20453](#20453))
([4bf9ddd](4bf9ddd))
* escape hatch snapshots
([#20363](#20363))
([e4712cd](e4712cd))
* **ethereum:** check timeout before consuming nonce in L1TxUtils
([#20501](#20501))
([639368d](639368d))
* **ethereum:** remove viem NonceManager to fix nonce gap after failed
sends
([#20819](#20819))
([fdd0d0d](fdd0d0d))
* evicted transactions could reappear after a node restart
([#20773](#20773))
([fdd0d0d](fdd0d0d))
* Fix checkpoint invalidation test
([#20579](#20579))
([639368d](639368d))
* Fix the epoch long proving test
([#20617](#20617))
([6414d9b](6414d9b))
* flag stripping error
([#20655](#20655))
([b87c8ae](b87c8ae))
* getVotes return empty instead of stale data
([#20756](#20756))
([fdd0d0d](fdd0d0d))
* hodgepodge of small things
([#20720](#20720))
([43caf7c](43caf7c))
* increase waitForTx timeout in epochs_invalidate_block test
([#20603](#20603))
([639368d](639368d))
* limit number of threads when verifying server-side proofs
([#20818](#20818))
([fdd0d0d](fdd0d0d))
* min expiration timestamp instead of assert
([#20554](#20554))
([fa29717](fa29717))
* misc minor contract fixes
([#20423](#20423))
([3a13674](3a13674))
* **node:** sync ws before simulating public calls
([#20499](#20499))
([639368d](639368d))
* **p2p:** fix compress option in file store and enable for tx uploads
([#20605](#20605))
([639368d](639368d))
* **p2p:** wait for GossipSub mesh formation before sending txs in e2e
tests
([#20626](#20626))
([fdd0d0d](fdd0d0d))
* pass log level to AVM simulator
([#20762](#20762))
([fdd0d0d](fdd0d0d))
* pxe native prover log level
([#20724](#20724))
([fdd0d0d](fdd0d0d))
* Reduce tx hash conversions inside tx pool
([#20829](#20829))
([fdd0d0d](fdd0d0d))
* respecting MAX_RPC_LEN limit in getAllLogsByTags
([#20543](#20543))
([c2475bd](c2475bd))
* separate rejected and aborted proving jobs
([#20777](#20777))
([fdd0d0d](fdd0d0d))
* Set Aztec slot duration as a multiple of the Ethereum slot duration
([#20608](#20608))
([dedf440](dedf440))
* set PXE sync chain tip to proposed for scenario bot
([#20530](#20530))
([639368d](639368d))
* skip default pp in sol aggregation
([#20521](#20521))
([f9431cd](f9431cd))
* stringify all bigints in pino-logger
([#20303](#20303))
([639368d](639368d))
* sync world state before forking in simulatePublicCalls
([#20544](#20544))
([f3420e0](f3420e0))
* track last seen nonce in case of stale fallback L1 RPC node
([#20855](#20855))
([83ea202](83ea202))
* **txe:** committing after txs
([#20714](#20714))
([83ea202](83ea202))
* underflow in snapshot synch
([#20780](#20780))
([fdd0d0d](fdd0d0d))
* Use async poseidon
([#20826](#20826))
([fdd0d0d](fdd0d0d))
* use ci3_labels_to_env.sh for ci-external label
([#20597](#20597))
([3efb1d9](3efb1d9))
* write pointers for environ_get and environ_sizes_get functions
([#20902](#20902))
([f3f5438](f3f5438))
* yolo debugging tweaks
([0a9d6e0](0a9d6e0))
* yolo some fd cleanup, maybe stop hangs
([43d292c](43d292c))
### Miscellaneous
* include_by_timestamp -&gt; expiration_timestamp
([#20536](#20536))
([44a33a1](44a33a1))
* update vks
([4d653dd](4d653dd))
### Documentation
* document RevertCodeEnum phases and add 120-char line width rule
([#20751](#20751))
([83ea202](83ea202))
* fix avm docs - l2 gas is not the same as mana
([#20565](#20565))
([50e778a](50e778a))
* minor clarification
([#20788](#20788))
([fdd0d0d](fdd0d0d))
* simulator readme typos
([#19701](#19701))
([50e778a](50e778a))
* some tail circuit doc comments
([#20449](#20449))
([fd509a3](fd509a3))
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
aminsammara pushed a commit that referenced this pull request Feb 27, 2026
Pending Aztec Packages v4 release
---

##
[4.0.1](v4.0.0...v4.0.1)
(2026-02-26)
### � BREAKING CHANGES
* Bump l2 gas per note hash
([#20862](#20862))
* update vks
* update da gas
([#20611](#20611))
* change max private log size to 16 fields
([#20515](#20515))
* pairing points audit
([#20456](#20456))
* include_by_timestamp -> expiration_timestamp
([#20536](#20536))
### Features
* (A-302) add reloadKeystore admin RPC endpoint
([#20325](#20325))
([639368d](639368d))
* (A-451) error codes for RPC calls
([#20560](#20560))
([639368d](639368d))
* (A-514) add API key authentication for admin RPC endpoint
([#20411](#20411))
([639368d](639368d))
* add `aztec profile` command with gate count profiling
([#20695](#20695))
([83ea202](83ea202))
* add API key authentication for admin RPC endpoint
([ff4cf99](ff4cf99))
* add aztec profile flamegraph command
([#20741](#20741))
([83ea202](83ea202))
* add support for signed integers on contract functions
([#20784](#20784))
([fdd0d0d](fdd0d0d))
* adding mempool transactions
([#20679](#20679))
([43caf7c](43caf7c))
* alpha payload
([#20865](#20865))
([7a09c3c](7a09c3c))
* **archiver:** add l2 tips cache
([#20510](#20510))
([639368d](639368d))
* **archiver:** return L2 block data to avoid fetching full block
([#20503](#20503))
([639368d](639368d))
* automatically stop node from signalling
([#20416](#20416))
([639368d](639368d))
* avoid redundant serial zeroing in polynomial allocation
([#20670](#20670))
([bb844d4](bb844d4))
* call syncImmediate without block number during chain prune
([#20717](#20717))
([43caf7c](43caf7c))
* check calldata against emitted hashes
([#20486](#20486))
([43caf7c](43caf7c))
* **ci.aztec-labs.com:** CI cost and metrics tracking
([#20100](#20100))
([639368d](639368d))
* disabling peer scoring for block proposals topic
([#20577](#20577))
([6414d9b](6414d9b))
* dynamically adjust missing txs set
([#20300](#20300))
([dedf440](dedf440))
* Error codes for RPC calls
([43ed6a9](43ed6a9))
* expose blockheader getters
([#20790](#20790))
([fdd0d0d](fdd0d0d))
* Metrics added to the transaction pool
([#20477](#20477))
([639368d](639368d))
* notify slack on merge train PR merge
([#20614](#20614))
([dbbeddc](dbbeddc))
* **p2p:** add download metrics to file store tx source
([#20601](#20601))
([639368d](639368d))
* printing out public contract function debug logs in a tx
([#20749](#20749))
([83ea202](83ea202))
* Re-instate the function optionally to delete all transactions in an
epoch prune
([#20602](#20602))
([dedf440](dedf440))
* reduced hashing
([#20676](#20676))
([bf3191c](bf3191c))
* run low priority eviction rule on chain_pruned
([#20687](#20687))
([43caf7c](43caf7c))
* suspend sentinel during escape hatch
([#20471](#20471))
([639368d](639368d))
* tcmalloc enabled in docker images
([#20644](#20644))
([b87c8ae](b87c8ae))
* trim attestations to the minimum required length
([#20591](#20591))
([43caf7c](43caf7c))
* use native crypto to compute p2p message ID
([#20846](#20846))
([fdd0d0d](fdd0d0d))
* Validate num txs in block proposals
([#20850](#20850))
([f3f5438](f3f5438))
* worker thread wallet
([#20557](#20557))
([639368d](639368d))
* World state history length is now defined in checkpoints
([#20566](#20566))
([639368d](639368d))
### Bug Fixes
* (A-575) prevent checkpoint event spam in L2BlockStream on restart
([#20791](#20791))
([fdd0d0d](fdd0d0d))
* `DelayedPublicMutable` not relying on the guarantee of increasing
timestamps
([#20244](#20244))
([a178034](a178034))
* allow compiling mixed (contract + noir script) aztec project
([#20428](#20428))
([83ea202](83ea202))
* **archiver:** enforce checkpoint boundary on rollbackTo
([#20908](#20908))
([f3f5438](f3f5438))
* async blob
([#20559](#20559))
([639368d](639368d))
* async dispose() lint rule
([#20587](#20587))
([639368d](639368d))
* async world state cleanups
([#20578](#20578))
([639368d](639368d))
* attribute for L1 fee analysis for full blocks
([#20548](#20548))
([63131de](63131de))
* **avm:** alu gadget fuzzer serialisation
([#19115](#19115))
([50e778a](50e778a))
* **aztec-up:** install noir-profiler alongside nargo
([#20896](#20896))
([f3f5438](f3f5438))
* charge 3.6M for epoch verification
([#20765](#20765))
([fdd0d0d](fdd0d0d))
* **ci:** insufficient parallelism in merge-queue-heavy
([#20613](#20613))
([5bfbd67](5bfbd67))
* **ci:** preserve both attempt logs when retrying flaky tests
([#20439](#20439))
([639368d](639368d))
* default pp handling
([#20516](#20516))
([f9431cd](f9431cd))
* do not ignore test artifacts
([#20574](#20574))
([402f438](402f438))
* docs examples lockfile
([#20453](#20453))
([4bf9ddd](4bf9ddd))
* escape hatch snapshots
([#20363](#20363))
([e4712cd](e4712cd))
* **ethereum:** check timeout before consuming nonce in L1TxUtils
([#20501](#20501))
([639368d](639368d))
* **ethereum:** remove viem NonceManager to fix nonce gap after failed
sends
([#20819](#20819))
([fdd0d0d](fdd0d0d))
* evicted transactions could reappear after a node restart
([#20773](#20773))
([fdd0d0d](fdd0d0d))
* Fix checkpoint invalidation test
([#20579](#20579))
([639368d](639368d))
* Fix the epoch long proving test
([#20617](#20617))
([6414d9b](6414d9b))
* flag stripping error
([#20655](#20655))
([b87c8ae](b87c8ae))
* getVotes return empty instead of stale data
([#20756](#20756))
([fdd0d0d](fdd0d0d))
* hodgepodge of small things
([#20720](#20720))
([43caf7c](43caf7c))
* increase waitForTx timeout in epochs_invalidate_block test
([#20603](#20603))
([639368d](639368d))
* limit number of threads when verifying server-side proofs
([#20818](#20818))
([fdd0d0d](fdd0d0d))
* min expiration timestamp instead of assert
([#20554](#20554))
([fa29717](fa29717))
* misc minor contract fixes
([#20423](#20423))
([3a13674](3a13674))
* **node:** sync ws before simulating public calls
([#20499](#20499))
([639368d](639368d))
* **p2p:** fix compress option in file store and enable for tx uploads
([#20605](#20605))
([639368d](639368d))
* **p2p:** wait for GossipSub mesh formation before sending txs in e2e
tests
([#20626](#20626))
([fdd0d0d](fdd0d0d))
* pass log level to AVM simulator
([#20762](#20762))
([fdd0d0d](fdd0d0d))
* pxe native prover log level
([#20724](#20724))
([fdd0d0d](fdd0d0d))
* Reduce tx hash conversions inside tx pool
([#20829](#20829))
([fdd0d0d](fdd0d0d))
* respecting MAX_RPC_LEN limit in getAllLogsByTags
([#20543](#20543))
([c2475bd](c2475bd))
* separate rejected and aborted proving jobs
([#20777](#20777))
([fdd0d0d](fdd0d0d))
* Set Aztec slot duration as a multiple of the Ethereum slot duration
([#20608](#20608))
([dedf440](dedf440))
* set PXE sync chain tip to proposed for scenario bot
([#20530](#20530))
([639368d](639368d))
* skip default pp in sol aggregation
([#20521](#20521))
([f9431cd](f9431cd))
* stringify all bigints in pino-logger
([#20303](#20303))
([639368d](639368d))
* sync world state before forking in simulatePublicCalls
([#20544](#20544))
([f3420e0](f3420e0))
* track last seen nonce in case of stale fallback L1 RPC node
([#20855](#20855))
([83ea202](83ea202))
* **txe:** committing after txs
([#20714](#20714))
([83ea202](83ea202))
* underflow in snapshot synch
([#20780](#20780))
([fdd0d0d](fdd0d0d))
* Use async poseidon
([#20826](#20826))
([fdd0d0d](fdd0d0d))
* use ci3_labels_to_env.sh for ci-external label
([#20597](#20597))
([3efb1d9](3efb1d9))
* write pointers for environ_get and environ_sizes_get functions
([#20902](#20902))
([f3f5438](f3f5438))
* yolo debugging tweaks
([0a9d6e0](0a9d6e0))
* yolo some fd cleanup, maybe stop hangs
([43d292c](43d292c))
### Miscellaneous
* include_by_timestamp -&gt; expiration_timestamp
([#20536](#20536))
([44a33a1](44a33a1))
* update vks
([4d653dd](4d653dd))
### Documentation
* document RevertCodeEnum phases and add 120-char line width rule
([#20751](#20751))
([83ea202](83ea202))
* fix avm docs - l2 gas is not the same as mana
([#20565](#20565))
([50e778a](50e778a))
* minor clarification
([#20788](#20788))
([fdd0d0d](fdd0d0d))
* simulator readme typos
([#19701](#19701))
([50e778a](50e778a))
* some tail circuit doc comments
([#20449](#20449))
([fd509a3](fd509a3))
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
aminsammara pushed a commit that referenced this pull request Feb 27, 2026
Pending Aztec Packages v4 release
---

##
[4.0.1](v4.0.0...v4.0.1)
(2026-02-26)
### � BREAKING CHANGES
* Bump l2 gas per note hash
([#20862](#20862))
* update vks
* update da gas
([#20611](#20611))
* change max private log size to 16 fields
([#20515](#20515))
* pairing points audit
([#20456](#20456))
* include_by_timestamp -> expiration_timestamp
([#20536](#20536))
### Features
* (A-302) add reloadKeystore admin RPC endpoint
([#20325](#20325))
([639368d](639368d))
* (A-451) error codes for RPC calls
([#20560](#20560))
([639368d](639368d))
* (A-514) add API key authentication for admin RPC endpoint
([#20411](#20411))
([639368d](639368d))
* add `aztec profile` command with gate count profiling
([#20695](#20695))
([83ea202](83ea202))
* add API key authentication for admin RPC endpoint
([ff4cf99](ff4cf99))
* add aztec profile flamegraph command
([#20741](#20741))
([83ea202](83ea202))
* add support for signed integers on contract functions
([#20784](#20784))
([fdd0d0d](fdd0d0d))
* adding mempool transactions
([#20679](#20679))
([43caf7c](43caf7c))
* alpha payload
([#20865](#20865))
([7a09c3c](7a09c3c))
* **archiver:** add l2 tips cache
([#20510](#20510))
([639368d](639368d))
* **archiver:** return L2 block data to avoid fetching full block
([#20503](#20503))
([639368d](639368d))
* automatically stop node from signalling
([#20416](#20416))
([639368d](639368d))
* avoid redundant serial zeroing in polynomial allocation
([#20670](#20670))
([bb844d4](bb844d4))
* call syncImmediate without block number during chain prune
([#20717](#20717))
([43caf7c](43caf7c))
* check calldata against emitted hashes
([#20486](#20486))
([43caf7c](43caf7c))
* **ci.aztec-labs.com:** CI cost and metrics tracking
([#20100](#20100))
([639368d](639368d))
* disabling peer scoring for block proposals topic
([#20577](#20577))
([6414d9b](6414d9b))
* dynamically adjust missing txs set
([#20300](#20300))
([dedf440](dedf440))
* Error codes for RPC calls
([43ed6a9](43ed6a9))
* expose blockheader getters
([#20790](#20790))
([fdd0d0d](fdd0d0d))
* Metrics added to the transaction pool
([#20477](#20477))
([639368d](639368d))
* notify slack on merge train PR merge
([#20614](#20614))
([dbbeddc](dbbeddc))
* **p2p:** add download metrics to file store tx source
([#20601](#20601))
([639368d](639368d))
* printing out public contract function debug logs in a tx
([#20749](#20749))
([83ea202](83ea202))
* Re-instate the function optionally to delete all transactions in an
epoch prune
([#20602](#20602))
([dedf440](dedf440))
* reduced hashing
([#20676](#20676))
([bf3191c](bf3191c))
* run low priority eviction rule on chain_pruned
([#20687](#20687))
([43caf7c](43caf7c))
* suspend sentinel during escape hatch
([#20471](#20471))
([639368d](639368d))
* tcmalloc enabled in docker images
([#20644](#20644))
([b87c8ae](b87c8ae))
* trim attestations to the minimum required length
([#20591](#20591))
([43caf7c](43caf7c))
* use native crypto to compute p2p message ID
([#20846](#20846))
([fdd0d0d](fdd0d0d))
* Validate num txs in block proposals
([#20850](#20850))
([f3f5438](f3f5438))
* worker thread wallet
([#20557](#20557))
([639368d](639368d))
* World state history length is now defined in checkpoints
([#20566](#20566))
([639368d](639368d))
### Bug Fixes
* (A-575) prevent checkpoint event spam in L2BlockStream on restart
([#20791](#20791))
([fdd0d0d](fdd0d0d))
* `DelayedPublicMutable` not relying on the guarantee of increasing
timestamps
([#20244](#20244))
([a178034](a178034))
* allow compiling mixed (contract + noir script) aztec project
([#20428](#20428))
([83ea202](83ea202))
* **archiver:** enforce checkpoint boundary on rollbackTo
([#20908](#20908))
([f3f5438](f3f5438))
* async blob
([#20559](#20559))
([639368d](639368d))
* async dispose() lint rule
([#20587](#20587))
([639368d](639368d))
* async world state cleanups
([#20578](#20578))
([639368d](639368d))
* attribute for L1 fee analysis for full blocks
([#20548](#20548))
([63131de](63131de))
* **avm:** alu gadget fuzzer serialisation
([#19115](#19115))
([50e778a](50e778a))
* **aztec-up:** install noir-profiler alongside nargo
([#20896](#20896))
([f3f5438](f3f5438))
* charge 3.6M for epoch verification
([#20765](#20765))
([fdd0d0d](fdd0d0d))
* **ci:** insufficient parallelism in merge-queue-heavy
([#20613](#20613))
([5bfbd67](5bfbd67))
* **ci:** preserve both attempt logs when retrying flaky tests
([#20439](#20439))
([639368d](639368d))
* default pp handling
([#20516](#20516))
([f9431cd](f9431cd))
* do not ignore test artifacts
([#20574](#20574))
([402f438](402f438))
* docs examples lockfile
([#20453](#20453))
([4bf9ddd](4bf9ddd))
* escape hatch snapshots
([#20363](#20363))
([e4712cd](e4712cd))
* **ethereum:** check timeout before consuming nonce in L1TxUtils
([#20501](#20501))
([639368d](639368d))
* **ethereum:** remove viem NonceManager to fix nonce gap after failed
sends
([#20819](#20819))
([fdd0d0d](fdd0d0d))
* evicted transactions could reappear after a node restart
([#20773](#20773))
([fdd0d0d](fdd0d0d))
* Fix checkpoint invalidation test
([#20579](#20579))
([639368d](639368d))
* Fix the epoch long proving test
([#20617](#20617))
([6414d9b](6414d9b))
* flag stripping error
([#20655](#20655))
([b87c8ae](b87c8ae))
* getVotes return empty instead of stale data
([#20756](#20756))
([fdd0d0d](fdd0d0d))
* hodgepodge of small things
([#20720](#20720))
([43caf7c](43caf7c))
* increase waitForTx timeout in epochs_invalidate_block test
([#20603](#20603))
([639368d](639368d))
* limit number of threads when verifying server-side proofs
([#20818](#20818))
([fdd0d0d](fdd0d0d))
* min expiration timestamp instead of assert
([#20554](#20554))
([fa29717](fa29717))
* misc minor contract fixes
([#20423](#20423))
([3a13674](3a13674))
* **node:** sync ws before simulating public calls
([#20499](#20499))
([639368d](639368d))
* **p2p:** fix compress option in file store and enable for tx uploads
([#20605](#20605))
([639368d](639368d))
* **p2p:** wait for GossipSub mesh formation before sending txs in e2e
tests
([#20626](#20626))
([fdd0d0d](fdd0d0d))
* pass log level to AVM simulator
([#20762](#20762))
([fdd0d0d](fdd0d0d))
* pxe native prover log level
([#20724](#20724))
([fdd0d0d](fdd0d0d))
* Reduce tx hash conversions inside tx pool
([#20829](#20829))
([fdd0d0d](fdd0d0d))
* respecting MAX_RPC_LEN limit in getAllLogsByTags
([#20543](#20543))
([c2475bd](c2475bd))
* separate rejected and aborted proving jobs
([#20777](#20777))
([fdd0d0d](fdd0d0d))
* Set Aztec slot duration as a multiple of the Ethereum slot duration
([#20608](#20608))
([dedf440](dedf440))
* set PXE sync chain tip to proposed for scenario bot
([#20530](#20530))
([639368d](639368d))
* skip default pp in sol aggregation
([#20521](#20521))
([f9431cd](f9431cd))
* stringify all bigints in pino-logger
([#20303](#20303))
([639368d](639368d))
* sync world state before forking in simulatePublicCalls
([#20544](#20544))
([f3420e0](f3420e0))
* track last seen nonce in case of stale fallback L1 RPC node
([#20855](#20855))
([83ea202](83ea202))
* **txe:** committing after txs
([#20714](#20714))
([83ea202](83ea202))
* underflow in snapshot synch
([#20780](#20780))
([fdd0d0d](fdd0d0d))
* Use async poseidon
([#20826](#20826))
([fdd0d0d](fdd0d0d))
* use ci3_labels_to_env.sh for ci-external label
([#20597](#20597))
([3efb1d9](3efb1d9))
* write pointers for environ_get and environ_sizes_get functions
([#20902](#20902))
([f3f5438](f3f5438))
* yolo debugging tweaks
([0a9d6e0](0a9d6e0))
* yolo some fd cleanup, maybe stop hangs
([43d292c](43d292c))
### Miscellaneous
* include_by_timestamp -&gt; expiration_timestamp
([#20536](#20536))
([44a33a1](44a33a1))
* update vks
([4d653dd](4d653dd))
### Documentation
* document RevertCodeEnum phases and add 120-char line width rule
([#20751](#20751))
([83ea202](83ea202))
* fix avm docs - l2 gas is not the same as mana
([#20565](#20565))
([50e778a](50e778a))
* minor clarification
([#20788](#20788))
([fdd0d0d](fdd0d0d))
* simulator readme typos
([#19701](#19701))
([50e778a](50e778a))
* some tail circuit doc comments
([#20449](#20449))
([fd509a3](fd509a3))
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants